package captureForts;

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public int captureForts(int[] forts) {
        // 两次遍历 第一次找向左边走摧毁的最大值
        // 第二次遍历找向右边走摧毁的最大值
//        int ans = 0;
//        // 对于每个 1 向左向右找-1 且中间为0
//        for (int i = 0; i < forts.length; i++) {
//            if(forts[i] == 1) {
//                int max = 0;
//                // 向左找
//                int l = i-1;
//                while (l>=0&&forts[l] == 0) l--;
//                if(l>=0&&forts[l] == -1) max = i-l-1;
//                int r = i+1;
//                while (r<forts.length&&forts[r] == 0) r++;
//                if(r<forts.length&&forts[r] == -1) max = Math.max(max,r-i-1);
//                ans = Math.max(ans,max);
//            }
//        }
//        return ans;

        int ans = 0;
        int pre = -1;
        for (int i = 0; i < forts.length; i++) {
            if(forts[i] == 1|| forts[i] == -1) {
                if(pre>=0&&forts[pre]!=forts[i]) {
                    ans = Math.max(i-pre-1,ans);
                }
                pre = i;
            }
        }
        return ans;
    }
}
